// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
module.exports = {
	_before: function() { // 通用预处理器

	},
	/**
	 * 新增企业
	 * @param {Object} params 企业信息
	 * @returns {object} 返回值描述
	 */
	opendb_enterprise_add(params) {
		const dbJQL = uniCloud.databaseForJQL({
			clientInfo: this.getClientInfo()
		});
		let reference = dbJQL.collection('opendb-enterprise')
		let {
			_id,
			...data
		} = params
		if (_id) {
			return reference.doc(_id).update(data)
		} else {
			return reference.add(data)
		}
	},
	/** 获取所有企业列表
	 * @param {number} pageNo 页码
	 * @param {number} pageSize 每页条数
	 */
	opendb_enterprise_listByPage(pageNo, pageSize) {
		const dbJQL = uniCloud.databaseForJQL({
			clientInfo: this.getClientInfo()
		});
		return dbJQL.collection('opendb-enterprise').where(`flag == false`)
			.skip((pageNo - 1) * pageSize).limit(pageSize).get()
	},
	/** 获取所有企业列表
	 */
	opendb_enterprise_all() {
		const dbJQL = uniCloud.databaseForJQL({
			clientInfo: this.getClientInfo()
		});
		return dbJQL.collection('opendb-enterprise').where(`flag == false`).get()
	},
	/** 获取企业详情
	 * @param {string} id 企业id
	 */
	opendb_enterprise_detail(id) {
		const dbJQL = uniCloud.databaseForJQL({
			clientInfo: this.getClientInfo()
		});
		return dbJQL.collection('opendb-enterprise').doc(id).get({
			getOne: true
		})
	},
	/** 删除企业
	 * @param {string} id 企业id
	 */
	opendb_enterprise_delete(id) {
		const dbJQL = uniCloud.databaseForJQL({
			clientInfo: this.getClientInfo()
		});
		return dbJQL.collection('opendb-enterprise').doc(id).update({
			flag: true
		})
	}
}